规划最佳路径

正确性

Criteria Meet Specification

提交项目是否通过所有测试?

运行 test.py 显示 "all tests pass".

学员是否实现 A* 搜索算法?

学员的 shortest_path 方法实现 A* 搜索算法。

这里启发式用在 A* 搜索算法是否合理?

用于估计两个交点之间距离的启发函数保证返回小于或等于交点之间的真实路径长度。

数据结构的选择和使用

Criteria Meet Specification

代码是否通过正确选择数据结构来避免查找速度过慢?

代码应避免乱用列表,并在适当情况下利用集合/字典提供的性能进行改进。 例如,像 “open_set” 这样的频繁运行的数据结构(例如, if node in open_set )不应该是列表的形式。

代码是否非常不必要的性能问题?

无需要求学生的代码很完美,但是也应该避免过于低效的性能问题,诸如:不必要的列表重复,或者 在可以使用一个简单的常数-时间lookup表的情况下却通过循环来遍历一个大型集合或字典;